package fms.dao;

import fms.model.Grib2WdInfo;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * Created by Administrator on 2014/8/14.
 */
public interface Grib2InfoService {
    // 增加
    public Grib2WdInfo save(Grib2WdInfo cptInfo);
    public Iterable<Grib2WdInfo> save(Iterable<Grib2WdInfo> grib2WdInfo);

    void flush();
    // 更新
    public Grib2WdInfo update(Grib2WdInfo grib2WdInfo);
    // 计算总记录数
    long count();
    // 按给定对象删除
    public void delete(Grib2WdInfo grib2WdInfo);
    // 按对象ID删除
    public void deleteById(int id);
    // 清空表数据
    public void deleteAll();

//    boolean exists(long id);

    long countByTimeAlt(String startTime, String endTime, int alt);

    // 考虑到效率问题，没有使用List为参数 + in做SQL条件的方式
    long countByTimeAlt(String startTime, String endTime, int alt1, int alt2);

    @Transactional
    long deleteByTimeAlt(String startTime, String endTime, int alt);

    //根据经度、纬度、高度层取得所有点的风速
    public List findByLonLatAlt(List lon, List lat, List alt);
}
